SCO XVision Eclipse: SCO Vision Resume

Delivering the future today

A quick tour

Top 10 technical attributes

System Requirements

SCO has recently announced a new wave of client integration software enabling users to integrate the Windows and UNIX worlds. One of the these products, SCO XVision Eclipse, contains some revolutionary new concepts that are poised to turn the Windows to UNIX integration market upside down. SCO XVision Eclipse, a leading PC X server product, introduces a technology called SCO Vision Resume which allows users to suspend an X session and resume it from anywhere on the intranet without shutting down any of the X clients. This ground-breaking technology has some important ramifications in terms of the future of X and UNIX. As one leading market analyst claimed:

"Vision Resume is the biggest breakthrough in X since the invention of X itself"

Today's Vision

The SCO Vision Resume technology can be applied in a wide variety of environments for greater mobility and time savings. Allowing suspension of X sessions and resumption of the session from a different machine is useful in any environment where time is of the essence. The mobile user is able to access a suspended X session immediately, rather than losing time and money waiting for connections to be established, applications started and then having to negotiate to the target part of the application.

"down time is lost money"

In the field of brokering, where "down time" is lost money, many of the banks and trading houses have X GUIs to databases that take a great deal of time to initialize. Typically, this type of application is left running for months at a time to minimize lost trading time. However client devices are the weak link. It is hard to envisage an X terminal, Windows 95 or NT machine maintaining a connection for several months, let alone remaining booted for such a time. SCO Vision Resume is the ideal solution in that the X application and front end to the mission critical information can be suspended whilst routine client maintenance is performed. The client device is rebooted and the session can then be resumed taking the user back to exactly the same point in the application at which it was left.

The logical extension of being able to suspend and resume a session is to be able to 'move' a session.

SCO Vision Resume is also a useful disaster recovery tool. Network outages or power failures to the client device are regarded as the suspension of an X session and therefore as soon as communication is restored, the X session can be accessed in the state it was before the outage.

The logical extension of being able to suspend and resume a session is to be able to 'move' a session. SCO Vision Resume users can move their session from one client device to another. This can prove invaluable in help desk environments where novice users are experiencing difficulties; they will be able to move their session to the help desk who can rectify the problem and pass back the session to the user. Used in conjunction with the MBX software available from the X consortium which allows an X session to be displayed on more than one client device simultaneously, SCO Vision Resume can also be a good tutoring aid.

A view from the Inside

The core technology behind SCO Vision Resume is a proxy X server which resides on the UNIX machine. This sits between the X client application and the physical X server-intercepting and then relaying the raw X protocol.

The presence of the proxy server between the client and X server modifies the way in which X clients can interact with the X server. It is still possible for any client to connect directly to the X server, a state termed "non-proxy" mode.

Alternatively in "proxy" mode, all of the clients can connect to the proxy server which multiplexes their rendering requests and sends them in a single stream to the real X server. The proxy server also de-multiplexes the input events sent to the client by the real X server and distributes them to the appropriate clients. In this way it behaves like two uni-directional pipes which simply relay information. What makes the proxy unusual is that it phonetaps these pipes so it can record information about the state of the resources created on the real X server. This is so that when the real X server disconnects it can suspend the session in such a way that it can successfully resume the session when a real X server is connected to the proxy. All of the existing protocol plumbing works because the proxy server is a virtual X display.

All clients connected to the proxy server are treated as members of the same X session by the server. X clients attached directly to the real X server are members of a second session. Interactions between the two sessions, such as cut-and-paste, are possible. SCO has deliberately tried to guide the SCO Vision Resume user towards operating with all or none of the X clients connected via the proxy server to minimize the scope for confusion about session membership and to reduce mistaken assumptions about which applications are going to be continue to run after the X server has been terminated.

Whilst the proxy is in suspended mode (i.e. not connected to a real X server), the threads of the X clients suspend as they are left in a wait state. They are waiting for a reply to the last request they made of the server.

Starting SCO Vision Resume is actually a special case of resuming a session where the proxy server is not already running. When the user starts a proxy instance, a file in their home directory (.tpsession) is read (in the manner ".xsession" is used) which determines the initial X clients to run. If this file is not present then a default copy is used. Resuming a session controls the display that the proxy server uses as a real X server.

The raw interface to SCO Vision Resume is via the UNIX command line. There are four basic commands available:

  1. xresume -start starts the proxy server and refers to the users control .tpsession file.
  2. xresume -suspend suspends the proxy server temporarily. The X clients are no longer displayed on the real X server and the proxy and X clients enter a wait state until the session is resumed or is stopped.
  3. xresume -resume resumes a session to a specified display.
  4. xresume -stop terminates the proxy server permanently and closes the connection to all attached clients.

In order to simplify the usage of SCO Vision Resume, a Windows GUI has been built within the PC X server SCO XVision Eclipse. To simplify user interaction, proxy and non-proxy modes are treated by SCO XVision Eclipse as being mutually exclusive although sophisticated users can circumvent this by setting the UNIX DISPLAY variable. This reduces confusion about whether clients are contained within a proxy session or not. In addition, to minimize the risk of users having multiple sessions suspended indefinitely on a particular UNIX machine, the resume and start options are combined, ensuring a user can only have one suspended session per server.

The Windows GUI to SCO Vision Resume effects a remote execution of the command line interface to the machine of choice. For example, resuming a session currently suspended on a machine named dante to a PC display rossetti would create the command:

rexec dante -l login /usr/local/vision/bin/xresume -resume rossetti:0

Using a remote execution mechanism also conveniently solves the security concerns that could arise in such a model. Leaving X sessions suspended in a wait state raises concerns about other users spoofing the proxy as the original X server and requesting reconnection and thus gaining access to a session that is not rightfully theirs. By remotely executing the SCO Vision Resume software, standard UNIX user name and password verification is performed by the host machine and thus no-one but the owner of that X session can attach to a suspended session.

Looking to the future

SCO envisage that this type of proxy technology will be expanded into other UNIX disciplines such as character based applications and RDBMS access from remote SQL queries. SCO intend to extend and further develop the technology in successive releases and envisage that the SCO Vision Resume technology will become a standard software component distributed with the UNIX operating system.

There are many options for future development of the SCO Vision Resume, most notably for the World-Wide Web and for non-Windows and for devices which are not based on Windows or X.

With the arrival of the Broadway (X11r7) Web-aware X, it will be possible to incorporate X applications into a web browser. Accessing a web page with an embedded X application will almost certainly mean attaching to a remote machine somewhere on the Internet or intranet. Moving on from that page to another will terminate the connection and the application will die. Moving back to the page using the browser back option will involve reconnecting to a site that you were connected to moments earlier and re-initiating the application. SCO Vision Resume offers the chance to suspend and resume the session as the page is left and returned to thus eliminating tedious client start-up time and making web-aware X a legitimate and usable technology.

Creating a proxy X server has implications as to which client devices X applications can reach. Current hardware already provides portable phones that allow access to the Internet. The future of computing is client independent and X must adapt to this model to survive. Extending the proxy X server to a point where the proxy does the meat of the work and where the graphics rendering required is initiated by the proxy in some form of Java script means that very soon, portable phones and palmtop organizers could be the thin clients that have been promised for so long; the difference being that these will be backwards compatible with our legacy applications. See SCO Vision Resume in action on the new Tarantella Web site at http://www.tarantella.sco.com

Availability

SCO Vision Resume ships as a companion product to SCO XVision Eclipse, the leading 32-bit PC X server.